The present invention relates generally to telecommunications systems, and more particularly, to a packet-based system having a jitter buffer external to a voice processor.
Global and local communication systems are rapidly changing from switched network systems to packet network systems. Packet network systems transmit data, speech, and video. Examples of a packet network are the Internet (a globally connected packet network system) and intranets (a local area packet network system). While speech communication in switched network systems is carried by a direct point-to-point connection, speech communication in packet network systems is performed by packing speech frames and transmitting the frames over the network.
Irregularity (or jitter) in the time of arrival of transmitted packets can jeopardize the quality of speech transmitted by a packet network. Since speech communications is a continuous process, each packet should be available at the receiving end in time for its usage (a packet is used by decoding its content and playing the decoded speech to the listener). Congestion due to inadequate bandwidth often leads to long delays in the delivery of time-sensitive packets. A problem arises, for example, if a few packets are delayed at a node of the packet network. At the receiving end, since the speech packets have not arrived, the listener will experience a discontinuity in speech. Moreover, when the packets finally arrive to their destination, they might arrive too late to be used, and will be dropped. In this case, the listener will lose some of the information. For voice data, packets that are lost or discarded result in gaps, silence, and clipping in real-time audio playback.
One possible solution for the irregular time of arrival of speech packets has been the buffering of several speech packets before using them to produce the speech. The speech packets are put in a FIFO (First-In-First-Out) buffer type, which holds several packets. Such a buffer is commonly called a jitter buffer. If the number of delayed packets is less than the size of the buffer, then the buffer will not become empty, and the listener will not experience speech discontinuity or loss. The greater the potential jitter, the larger the buffer has to be, in order to give more room for the playback of previous packets while waiting for the subsequent arrival of later packets. Some existing voice data processors incorporate an internal jitter buffer that shares the same processor with other voice processing functions. It is desirable to implement a voice processing system that has a jitter buffer that has enough memory to accommodate large amounts of jitter and yet is relatively inexpensive to manufacture.
Further limitations and disadvantages of conventional and traditional approaches will become apparent to one of skill in the art through comparison of such systems with the present invention, as set forth in the remainder of the present application with reference to the drawings.